package polymorphismdemo1;

public class Test {
    public static void main(String[] args) {
        Student s = new Student();
        s.setName("zhangsan");
        s.setAge(18);

        Teacher t = new Teacher();
        t.setName("wang");
        t.setAge(33);

        Adimistrator ad = new Adimistrator();
        ad.setName("guanliyuan");
        ad.setAge(26);

        register(s);
        register(t);
        register(ad);
    }

    // 这个方法既能接收老师也能接收学生和管理员
    // 参数只能写成三个类型的父类
    public static void register(Person p) {
        p.show();
    }
}
// 多态：对象的多种形态
// 前提：1.有继承/实现关系 2.有父类引用指向子类对象 3.有方法重写
// 好处：1.使父类作为参数，可以接收所有子类对象 2.体现多态的拓展性与便利